<?php
/**
 * IMMOPHP
 * Auteur : Drouche Romain
 * */
require 'kernel/common.php';

// Affichage Header et titre page
$GLOBALS['smarty']->assign('titre_site', $setting['titre_site'] . ' - ' . $lang['Annonce'] );
$GLOBALS['smarty']->display($fichier_theme_header, $fichier_theme_header);

// Recuperation des parametres pour la recherche en fonction de critere
$agence_id = retrieve('GOST', 'agence');
$type = retrieve('GOST','type');
$prix = retrieve('GOST', 'prix');
$departement = retrieve('GOST', 'departement');
$secteur = retrieve('GOST','secteur');
$ville  =   retrieve('GOST','ville');

// Traitement Ville
if($ville == $lang['Ville']) $ville = '';

// Enregistrement des logs de recherche
Annonce::log_search();

// Construction tableau pour url
$UrlArray = array(
'agence'	=>	$agence_id,
'type'	=>	$type,
'prix'	=>	$prix,
'departement'	=>	$departement,
'secteur'	=>	$secteur,
'ville' =>  $ville);

// Construction tableau pour construction requete
$TableCorrespondance = array(
'agence'	=>	$agence_id,
'type'	=>	$type,
'prix'	=>	$prix,
'departement'	=>	$departement,
'secteur'	=>	$secteur,
'ta.ville' =>  addslashes($ville),
'active'    =>  1);

// Construction Condition
$QueryCondition = Annonce::ConstructCondition($TableCorrespondance);

$Query = "
SELECT ta.id, ref, titre, prix, type, photo_principale, ta.ville, tag.nom as agence, tas.nom as secteur, cdc, vendu
FROM immo_annonce ta
LEFT JOIN immo_agence tag ON ta.agence = tag.id
LEFT JOIN immo_annonce_secteur tas ON ta.secteur = tas.id
" . $QueryCondition . " ORDER BY date_ajout DESC
LIMIT ". $GLOBALS['setting']['annonce_par_page'] . "
";

if( isset($_GET['page']) )
    $Query .= " OFFSET " . $GLOBALS['setting']['annonce_par_page'] * ( $_GET['page'] - 1);

require IMMOPHP_ROOT_PATH . 'kernel/Framework/Pager/Pager.php';

$num_annonce = $GLOBALS['db']->sql_nbresultat(null , "SELECT COUNT(id) FROM immo_annonce ta " . $QueryCondition . "");

$paramUrl = ConstructParamUrl($UrlArray);

$pager_option = array(
    'mode'  =>  'Sliding',
    'perPage'   =>  $GLOBALS['setting']['annonce_par_page'],
    'append' => false,
    'delta' =>  2,
    'urlVar' =>  'page',
    'fileName'  =>  $paramUrl == '' ? 'annonce.php?page=%d' : 'annonce.php?' . ConstructParamUrl($UrlArray) .'&page=%d',
    'totalItems'    =>  $num_annonce
);

$pager = & Pager::factory($pager_option);
$links = $pager->getLinks();

$smarty->assign('nb_annonce', $num_annonce);

$annonces = array();

$requete = $GLOBALS['db']->query($Query);

$count = 1;

while( $Annonce = $GLOBALS['db']->fetch($requete) )
{

	if(is_file(IMMOPHP_ROOT_PATH . 'upload/annonces/'. $Annonce['id'] .'/'.$Annonce['photo_principale']))
	{
		$Annonce['image'] = 'upload/annonces/'. $Annonce['id'] .'/'.$Annonce['photo_principale'];
		$Annonce['photo_ok'] = 1;
	}
	else
		$Annonce['photo_ok'] = 0;
    
    $Annonce['position'] = GetAlternance($count);   // Recuperation position annonce
    $Annonce['type'] = get_type($Annonce['type']);  // Recuperation du type
    $Annonce['prix'] = number_format($Annonce['prix'],0,'.',' '); 
	
    array_push($annonces, $Annonce);
    
    $count++;	
}

$smarty->assign('annonces', $annonces);


$smarty->assign('lang', $lang);
$smarty->assign('setting', $setting);
$smarty->assign('pagination', $links['all']);
$smarty->assign('flux_rss', $Immophp->generate_flux_rss(ConstructParamUrl($UrlArray)));

$smarty->display(get_template_file('annonce.tpl'));

require_once 'kernel/footer.php';
?>